Recent rapid development of computer technologies, along with the prevalence of various computing devices (personal computers, notebooks, smartphones, etc.), and especially embedded systems (microcontrollers, data storage systems, etc.), has led to the use of such devices in various areas of activity and for a large number of tasks (from Internet surfing to refrigerator control to collection of data from car sensors). In parallel with the growth of the number of computing devices being used, the volume of the data processed by such devices has been increased as well, which, in turn, has made vital ensuring information security of the data being gathered and processed.
Use of inaccurate or incomplete information can cause significant damages and financial losses. For example, in the banking sector, substitution of personal data of users can result in losses of funds by bank clients. In the financial sector, inaccurate or incomplete information can cause multibillion losses and paralyze stock exchange operations. In the insurance sector, forged information can result in illegal payments and cause losses to insurance companies.
To ensure information security of data, i.e. to protect data against modification, deletion or substitution, various technologies are currently being used, including data backup, symmetric and asymmetric encryption of data, antinoise coding of data and blockchain technologies.
For example, U.S. Patent Application Pub. No. 2003/0236992 describes a system for protecting data logs against unauthorized modification. In order to acknowledge each message from the said log, symmetric encryption keys and message authentication codes are used. Each newly received message from the data log is encrypted with a symmetric key computed on the basis of previously received messages; for confirmation of the correctness of the message, a message authentication code is computed and associated with the current message. This allows determination of any changes made to the log after the processing of the previous message and before the processing of the current message.
The above-described system can protect data from modification, deletion or substitution, but only when sufficient computing resources are available (processor time, RAM, space on removable media, etc.). Further, such solutions lack efficiency when the amount of computing resources or the time allowed for data processing is limited.
Thus there is a need for ensuring information security of data using a limited amount of computing resources.